Skip to contentMethod: create(String, String)
      1: package auftraege.auftragsBildungsParameter.abstraction;
2: 
3: import auftraege.VoraussichtlicheDokumentenklassenVariableVisitor;
4: import auftraege.factory.DokumentenklassenVariablenFactory;
5: 
6: /**
7:  * Variable einer Dokumentenklasse. Könnte beispielsweise das Papierformat sein, in welchem die Dokumentenklasse vorliegt.
8:  * Diese Variablen werden benötigt,
9:  * damit bei der späteren Parametrisierung bei der Bildung der Produktionsaufträge die Dokumentenklassen ausgewählt werden können.
10:  * <p/>
11:  * Jede {@link DokumentenklassenVariable} ist auch eine {@link VoraussichtlicheDokumentenklassenVariable}.
12:  * TODO Art: Work in Progress; Jan macht sich da nochmal Gedanken drüber, ob es nicht
13:  * lieber zwei Interfaces sein sollten, die dann eins darüber haben sollten
14:  */
15: public interface DokumentenklassenVariable extends VoraussichtlicheDokumentenklassenVariable {
16: 
17:         /**
18:          * Diese Methode kreiert eine neue unbekannteVariable, die vom Typ DokumentenklassenVariable ist. Es wird überprüft, ob es schon eine unbekannte Variable mit der
19:          * Bezeichnung und dem neuen Wert. Es wird eine
20:          *
21:          * @param bezeichnung und ein
22:          * @param wert        hineingegeben.
23:          * @return DokumentenklassenVariable
24:          */
25:         static DokumentenklassenVariable create(final String bezeichnung, final String wert) {
26:                 return DokumentenklassenVariablenFactory.INSTANCE.verarbeite(bezeichnung, wert);
27:         }
28: 
29: 
30:         /**
31:          * akzeptiert einen {@link DokumentenklassenVariablenVisitor}.
32:          *
33:          * @param v   zu akzeptierender Visitor.
34:          * @param <T> Rückgabedatenyp
35:          * @return den Rückgabewert des handles vom Visitor v.
36:          */
37:         <T> T accept(DokumentenklassenVariablenVisitor<T> v);
38: 
39:         @Override
40:         default <T> T accept(final VoraussichtlicheDokumentenklassenVariableVisitor<T> v) {
41:                 return v.handle(this);
42:         }
43: }